Estimación de tiempo y esfuerzo en proyectos de software (página 2)
El objetivo de esta técnica es medir la cantidad de funcionalidad a partir de la especificación de un sistema, con independencia de la tecnología con la que pudiera ser desarrollado.
Lo primero es calcular los puntos de función (PF) sin ajustar para lo cual que se requiere determinar:
Tipos de función de datos
Ficheros Lógicos Internos(ILF)
Ficheros de Interfaces Externos(EIF)
Tipos de Funciones de Transacciones
Entradas Externas(EI)
Salidas Externas(EO)
Consultas Externas(EQ)
Al identificar estos elementos se les clasifican de complejidad alta, media, baja y se le asigna un peso. Luego se calculan los Puntos Funcionales sin ajustar sumando las cantidades de cada tipo de objeto multiplicadas por su ponderación. Luego se calculan los puntos funcionales ajustados multiplicándolos por un factor de ajuste que se calculan tomando en cuentas 14 factores de complejidad técnica. Estos factores son valorados en una escala de 0 a 5. La valoración de estos factores puede generar una variación de más menos 35%. [3]
Algunos problemas con esta técnica
Subjetividad en el factor tecnología y en los pesos.
Uso temprano, se necesita una especificación completa del sistema.
Su cálculo no puede automatizarse completamente depende del juicio experto.
No son independientes de las metodologías de análisis y diseño usadas.
No son sufrientemente tempranos para la gestión de proyectos ya que cuando se dispone de los elementos para calcularlos se ha invertido entre el 15 y el 40% del esfuerzo .[4]
Estimación Basada en Casos de Uso
El método utiliza los actores y casos de uso relevados para calcular el esfuerzo que significará desarrollarlos. A los casos de uso se les asigna una complejidad basada en transacciones, entendidas como una interacción entre el usuario y el sistema, mientras que a los actores se les asigna una complejidad basada en su tipo, es decir, si son interfaces con usuarios u otros sistemas. También se utilizan factores de entorno y de complejidad técnica para ajustar el resultado.
Consta de cuatro etapas, en las que se desarrollan los siguientes cálculos:
Factor de peso de los actores sin ajustar (UAW)
Factor de peso de los casos de uso sin ajustar (UUCW)
Puntos de caso de uso ajustados (UCP)
Esfuerzo horas-hombre
Factor de peso de los actores sin ajustar (UAW)
En la primera de estas etapas se cuenta con una descripción de los casos de usos, donde se especifique cual es la funcionalidad que cada uno debe brindar. El UUCP son los puntos de casos de uso sin ajustar para tener una idea de la dificultad de los casos de uso e interfaces, tomando en cuenta los pesos de los actores (UAW) y los pesos de los casos de uso (UUCW). UUCP = UAW + UUCW.
El UAW se calcula determinando si cada actor es una persona u otro sistema, además evalúa la forma en la que este interactúa con el caso de uso, y la cantidad de actores de cada tipo. Se le asigna un valor que puede ser Simple (Otro sistema que interactúa con el sistema a desarrollar mediante una interfaz de programación (API)), Medio (Otro sistema interactuando a través de un protocolo (ej. TCP/IP) o una persona interactuando a través de una interfaz en modo texto) o Complejo (Una persona que interactúa con el sistema mediante una interfaz gráfica (GUI)). Se cuentan los actores de cada tipo que fueron identificados y se multiplican por su factor correspondiente para obtener el resultado por cada tipo de actor, luego se suman cada producto para obtener el UAW.
Tipo de actor | Descripción | Factor | ||||||||||||
Simple | Otro sistema que interactúa con el sistema a desarrollar mediante una interfaz de programación (API). | 1 | ||||||||||||
Medio | Otro sistema interactuando a través de un protocolo (ej. TCP/IP) o una persona interactuando a través de una interfaz en modo texto. | 2 | ||||||||||||
Complejo | Una persona que interactúa con el sistema mediante una interfaz gráfica (GUI). | 3 |
Tabla 1: Peso de los actores sin ajustar.
La fórmula sería: UAW = Sum(cantidadDeUnTipoDeActor*Factor)
Factor de peso de los casos de uso sin ajustar (UUCW)
Para determinar el factor de peso de los casos de uso sin ajustar (UUCW) se procede de manera muy similar al anterior, pero para determinar el nivel de complejidad se puede realizar mediante dos métodos: basado en transacciones o basado en clases de análisis. En ambos métodos se le asigna una clasificación correspondiente a las transacciones o a las clases que pueden ser Simple, Medio o Complejo, se le asigna un factor dependiendo de la clasificación anterior, este se multiplica por la cantidad de elementos que son clasificados de la misma manera y luego se suman los tres productos.
Basado en transacciones: Toma en cuenta el número de transacciones que se pueden realizar en un caso de uso y lo evalúa según la siguiente tabla:
Tipo de caso de uso | Descripción | Factor | |||||
Simple | 3 transacciones o menos | 5 | |||||
Medio | 4 a 7 transacciones | 10 | |||||
Complejo | Más de 7 transacciones | 15 |
Tabla 2: Peso de las transacciones.
Pasado en clases de análisis.
Toma en cuenta el número de clases que tiene un caso de uso y lo evalúa según la siguiente tabla:
Tipo de caso de uso | Descripción | Factor | ||||
Simple | Menos de 5 clases | 5 | ||||
Medio | 5 a 10 clases | 10 | ||||
Complejo | Más de 10 clases | 15 |
Tabla 3: Peso de las clases de análisis.
Puntos de caso de uso ajustados (UCP)
Para determinar los puntos de casos de usos ajustados esto se utilizan las siglas UCP y se obtiene al multiplicar el UUCP (puntos de casos de usos sin ajustar) el TCF (Factores Técnicos) y el EF (Factores ambientales) quedando la operación de la siguiente forma:
UCP = UUCP x TCF x EF
Factores de complejidad técnica
Este se compone de 13 puntos que evalúan la complejidad de los módulos del sistema que se desarrolla, cada uno de estos factores tienen un peso definido con los cuales se obtendrá puntos ponderados por cada uno de ellos, según la valoración que se le asigne. Para una mejor comprensión, a continuación se mostrará una tabla con los ítems:
Factor | Descripción | Peso | ||||||||||
T1 | Sistema distribuido. | 2 | ||||||||||
T2 | Objetivos de performance o tiempo de respuesta. | 1 | ||||||||||
T3 | Eficiencia del usuario final. | 1 | ||||||||||
T4 | Procesamiento interno complejo. | 1 | ||||||||||
T5 | El código debe ser reutilizable. | 1 | ||||||||||
T6 | Facilidad de instalación. | 0.5 | ||||||||||
T7 | Facilidad de uso. | 0.5 | ||||||||||
T8 | Portabilidad. | 2 | ||||||||||
T9 | Facilidad de cambio. | 1 | ||||||||||
T10 | Concurrencia. | 1 | ||||||||||
T11 | 1 | |||||||||||
T12 | Provee acceso directo a terceras partes. | 1 | ||||||||||
T13 | Se requiere facilidades especiales de entrenamiento a usuario. | 1 |
Tabla 4: Peso de los factores de complejidad técnica.
Cada uno de estos puntos se debe evaluar según la siguiente escala:
Descripción | Valor |
Irrelevante | De 0 a 2. |
Medio | De 3 a 4. |
Esencial | 5 |
Tabla 5: Escala de los factores de complejidad técnica.
Las fórmulas para este punto son:
TFactor = Sum (Valor*Peso)
TCF = 0.6 + (0.01 * TFactor)
Para realizar este cálculo, se debe evaluar cada factor, asignándole un valor como se menciona anteriormente, después se multiplican y se suma cada producto para obtener el TFactor. Luego, se debe seguir la segunda fórmula multiplicando el TFactor por 0.01 y sumar el resultado a 0.6, esto nos va a dar el TCF.
Los factores sobre los cuales se realiza la evaluación son 8 puntos, que están relacionados con las habilidades y experiencia del grupo de personas involucradas con el desarrollo del proyecto. Estos factores se muestran a continuación:
Factor | Descripción | Peso | |||||||
E1 | Familiaridad con el modelo de proyecto utilizado. | 1.5 | |||||||
E2 | Experiencia en la aplicación. | 0.5 | |||||||
E3 | Experiencia en orientación a objetos. | 1 | |||||||
E4 | Capacidad del analista líder. | 0.5 | |||||||
E5 | Motivación. | 1 | |||||||
E6 | Estabilidad de los requerimientos | 2 | |||||||
E7 | Personal part-time | -1 | |||||||
E8 | Dificultad del lenguaje de programación | -1 |
Tabla 6: Peso de los factores ambientales.
Cada uno de estos factores se debe calificar con un valor de 0 a 5.
Las fórmulas para este punto son:
EFactor = Sum(Valor * Peso)
EF = 1.4 + (-0.03 * EFactor)
Para obtener el EFactor se debe sumar todos los productos obtenidos al multiplicar el peso de cada punto por el valor asignado, después se multiplica por -0.03 y se le suma el 1.4. Así, se obtiene el peso de los factores ambientales (EF).
Esfuerzo horas-hombre
EL cálculo del Esfuerzo horas-hombre se realiza con el fin de tener una aproximación del esfuerzo, pensando solo en el desarrollo según las funcionalidades de los casos de uso. Anteriormente, se sugería utilizar 20 horas persona por UCP, pero a través del tiempo se ha ido mejorando. En este cálculo intervienen los factores ambientales y los demás elementos hallados en cálculos anteriores.
Primero se debe contar la cantidad de factores ambientales del E1 al E6 que tienen una puntuación menor a 3, también contar la cantidad de estos mismos del E7 y E8 que son mayores que 3.
Factor | Filtro |
De E1 a E6 | Factor < 3 |
De E7 a E8 | Factor > 3 |
![]() | ![]() ![]() | Página siguiente ![]() |